package com.vehicle.mapper;


import com.vehicle.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Set;

@Repository
public interface UserMapper {
    //根据部门id查询部门员工
    public List<User> selectUsersByDid();
    //根据员工id查询员工
    public  User selectUserByUid(@Param("uname") String uname, @Param("password") String password);
    //role到user
    public  List<User> selectUserByRole();

    /**
     * 分页查询
     *
     */
    public List<User> selectUsersByPage(User condition);
    /**
     * 增加用户
     */
    public  void insertUser(User user);
    /**
     * 删除用户
     */
    public  void deleteUser(Integer uid);
    /*
      删除用户角色关联
     */
    public void deleteUserRole(Integer uid);
    /**
     * 修改用户
     */
    public  void updateUser(User user);
    /*
    根据tel查询
     */
    public  User selectUserByTelephone(@Param("uname") String uname);

    /**
     * 根据uid查询user
     */
    public User selectUserById(Integer uid);
    /**
     * 根据uid删除中间表记录
     */
    public void deleteUserRoleByUid(Integer uid);
    /**
     * 根据uid rid对中间表进行插入记录
     */
    public void insertUserRole(@Param("uid") Integer uid,@Param("rid") Integer rid);

    /**
     * 根据uname查询用户角色集合
     *
     */
    public Set<String>  selectRolesNameByUname(String uname);
    /**
     * 根据uname查询用户权限集合
     */
    public  Set<String>  selectPercodesByUname(String uname);

    //修改密码
    public void  updatePwd(User user);


    //修改用户状态为0
    public void updateStatus(Integer uid);

    //修改用户状态为1
    public void updateStatusToOne(Integer uid);

    //修改用户状态为3
    public void  updateStatusToThree(Integer uid);

}
